package models

import "gorm.io/gorm"

type SysRole struct {
	gorm.Model
	// 角色名称
	Name string `gorm:"column:name;type:varchar(100);" json:"name"`
	// 是否是超级管理员 0：否，1:是
	IsAdmin int8 `gorm:"column:is_admin;type:tinyint(1);default:0" json:"is_admin"`
	// 排序，序号越小越靠前
	Sort int64 `gorm:"column:sort;type:int(11);default:0" json:"sort"`
	// 备注
	Remarks string `gorm:"column:remarks;type:varchar(255);" json:"remarks"`
}

// TableName 设置表名称
func (table *SysRole) TableName() string {
	return "sys_role"
}

// GetRoleList 获取角色数据列表
func GetRoleList(keyword string) *gorm.DB {
	tx := DB.Model(new(SysRole)).Select("id,name,is_admin,sort,created_at,updated_at,deleted_at,remarks")
	if keyword != "" {
		tx.Where("name like ?", "%"+keyword+"%")
	}
	tx.Order("sort asc")
	return tx
}
